package main

import (
	"runtime"

	library "../../library"
	HTTP "../../library/http"
	log "../../library/log"
	User "../../user"
)

func init() {
	runtime.GOMAXPROCS(runtime.NumCPU())
	// 初始化日志
	l := log.DBLog{}
	l.Init("log.db")
	log.SetLog("library", &l.Port)
}
func main() {
	defer log.GetLog("library").Close() // 关闭日志
	// http 服务
	H := &HTTP.HTTP{}
	// 初始化
	H.Init(50, 100)
	// 初始化路由
	Blogs(H) // 博客
	// 启动
	H.Listen(":81")
}

// Blogs 博客路由
func Blogs(H *HTTP.HTTP) {
	// 博客数据库
	var blogs = library.DB{Type: "sqlite3"}
	// 打开本地文件
	blogs.OpenFile("./Blogs.db")
	// 用户数据库
	var database = &library.DB{Type: "sqlite3"}
	database.OpenFile("./User.db") // 初始化用户数据库
	// 登陆对象
	user := User.User{
		Path:     "", // 登陆路由路径
		Handle:   H,
		DataBase: database,
	}
	// * 创建登陆对象
	user.New()
	// * 初始化 文章数据库管理
	(&FileDatabase{
		HTTP: H,
		// * 本地文件设置
		Path:     "",
		FilePath: "./Resource/Article/",
		// * 数据库设置
		FileDB:        blogs,
		FileTableName: "Article",
		// * 用户设置
		UserKey:  user.GetUser(),
		CacheKey: user.GetCache(),
	}).New()
}
